﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using mamnontuoitho7.AppCode;
using System.Data;

namespace mamnontuoitho7.backend
{
    public partial class AdminCreate : System.Web.UI.Page
    {
        protected Member _admin = new Member();
        protected General _general = new General();

        protected void Page_Load(object sender, EventArgs e)
        {

            //Check Role Admin
            if (Session["memberID"].ToString() != "" && (ConstantClass.permissionPrincipal).IndexOf(Session["role"].ToString() + ",") != -1)
            {
                try
                {
                    if (!IsPostBack)
                    {
                        loadAdminPermissionList(Session["role"].ToString());

                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    Response.Redirect(ConstantClass._errorAdminPage);
                }

            }
            else
            {
                Response.Redirect(ConstantClass._errorLoginPage);
            }


        }


        /// <summary>
        /// Load Permission of admin
        /// </summary>
        private void loadAdminPermissionList(String roleID)
        {

            DataTable dttAdminPermission = _admin.GetAdminPermissionList(roleID);
            ddlRoleName.DataSource = dttAdminPermission;
            ddlRoleName.DataTextField = "RoleName";
            ddlRoleName.DataValueField = "RoleID";
            ddlRoleName.DataBind();
        }

        protected void btnCreate_Click(object sender, EventArgs e)
        {
            int checkUpdate = 0;
            try
            {
                if (txtMemberName.Text.Trim() == "")
                {
                    lblNotice.Visible = true;
                    lblNotice.Text = "Tên đăng nhập không được để trống.";
                    return;
                }

                checkUpdate = _admin.CreateAdmin(ddlRoleName.SelectedValue,
                                                        txtMemberName.Text.Trim(),
                                                        txtFullname.Text.Trim(),
                                                        ddlSex.SelectedValue,
                                                        txtBirthday.Text.Trim(),
                                                        txtAddress.Text.Trim(),
                                                        txtEmail.Text.Trim(),
                                                        txtPhone.Text.Trim(),
                                                        ConstantClass._passwordDefault);

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Response.Redirect(ConstantClass._errorAdminPage);
            }


            if (checkUpdate == 1)
            {
                lblNotice.Visible = true;
                lblNotice.Text = "Admin mới đã được tạo.";
            }
            else if (checkUpdate == ConstantClass.duplicateKey)
            {
                lblNotice.Visible = true;
                lblNotice.Text = "Tên đăng nhập này đã có. Xin vui lòng đổi tên khác.";
            }
            else
            {
                lblNotice.Visible = true;
                lblNotice.Text = "Có lỗi hệ thống không thể cập nhật được.";
            }

        }

        protected void btnCancle_Click(object sender, EventArgs e)
        {
                Response.Redirect("AdminCreate.aspx");
        }
    }
}